package com.hnyyjsxy.dao;

import com.hnyyjsxy.domain.*;

import java.util.List;

/**
 * @date 2021/02/05
 */
public interface TeacherDao {

    //通过账号查询该老师的信息信息
    public Teacher getTeacherByAccount(String account);

    //查询该床号是否已有人
    public boolean queryBedExist(String building,String room,String bed);

    //查询该楼栋下的所有调换宿舍的申请
    public List<ApplyFor> queryStudentApply(String building);

    //宿舍老师同意了学生调换宿舍的申请
    public void consentApply(String sid,String room,String bed);

    //宿舍老师同意了学生调换宿舍的申请
    public void refusedApply(String sid);

    //添加学生违纪情况
    public abstract void addStudentViolate(String sid,String cause);

    //添加外访人员记录
    public abstract void addStrangerRecord(Stranger stranger);

    /**
     * 外访人员查询，通过楼栋和姓名查询 查询共有多少条数据
     * @param building 楼栋号
     * @param sname 外访人员姓名
     * @return 记录条数
     */
    public abstract int queryStrangerCount(String building,String sname);

    /**
     * 外访人员查询，通过楼栋和姓名查询
     * @param building 楼栋号
     * @param sname 姓名
     * @param begin 开始位置
     * @param end 查询多少条
     * @return 查询的外访人员信息集合
     */
    public List<Stranger> queryStrangerRecord(String building,String sname,int begin,int end);

    /**
     * 门禁系统，查询该卡号是否存在
     * @param idCard
     * @return
     */
    public abstract DoorForbidding queryCard(String idCard);

    /**
     * 通过学号删除学生信息
     * @param sid 学号
     */
    public abstract void delStudentBySid(String sid);

    /**
     * 通过班级查询学生信息
     * @param squad 班级
     * @param building 楼栋号
     * @return 学生信息
     */
    public abstract List<Student> queryStudentBySquad(String squad,String building);
}
